Party location based services

ABSTRACT

Services are provided based on the locations, rather than the NPA.NXX identifiers, of called and calling parties. Party location based services can be provided to the called party, to the calling party, or both. Services can include an indication of the location of each party. Services also can include an indication of charges as determined by the location of the parties, rather than the NPA.NXX identifiers. Services can be provided if the parties are using a mobile communications devices, such as a cellular phone, wireline systems (e.g., landline phones), or a combination thereof. In an example configuration, location can be provided in a hierarchy of various levels of accuracy/precision. Different levels can be representative of different resolutions of geography. An example system for facilitating party location based services includes a signaling system number 7 (SS7) network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S.application Ser. No. 13/112,114, filed May 20, 2011, the contents ofwhich are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The technical field generally relates to telecommunications, and morespecifically relates to providing services based on locations of callingand called parties.

BACKGROUND

Current telephone systems in the United States and Canada use the NorthAmerican Number Plan (NANP) for establishing calls. Under the NANP,NPA.NXX identifiers are used. NPA.NXX refers to the first six digits ina phone number. NPA refers to the area code, and NXX refers to theexchange (three digits following the area code). Service providers usethe NPA.NXX identifiers of each party (called party and calling party)to determine the rates to be charged for a call. Also, persons withcaller ID have used the NPA.NXX identifiers to determine the originationof a call. However, with the widespread use of portable communicationsdevices, such as cellular phones, VoIP, and local number portabilityfeatures available in wireline systems (e.g., landline systems), theNPA.NXX identifiers may not accurately reflect the location of a party.

SUMMARY

Services are provided based on the locations, rather than the NPA.NXXidentifiers, of called and calling parties. The phone number of acommunications device being used by a calling party is not determinativeof the location of the calling party. And, the phone number of acommunications device being used by the called party is notdeterminative of the location of the called party. Party location basedservices can be provided to the called party, to the calling party, orboth. Services can include an indication of the location of each party.For example, the location of a calling party can be provided to a calledparty, and/or the location of a called party can be provided to acalling party. In an example embodiment, locations are provided prior tothe called party answering the call. Services also can include anindication of charges as determined by the location of the parties,rather than the NPA.NXX identifiers. Services can be provided if theparties are using a mobile communications devices, such as a cellularphone, wireline systems (e.g., landline phones), or a combinationthereof. In an example configuration, location can be provided in ahierarchy of various levels of accuracy/precision. Different levels canbe representative of different resolutions of geography. For example, afirst level could be representative of a broad geographic resolution,such as a region (e.g., country, state, continent, etc.), a second levelcould be representative of a finer geographic resolution, such as acounty, township, etc., a third level could be representative of an evenfiner geographic resolution, such as a city, building (e.g., apartmentbuilding, etc.), complex (e.g., shopping mall, college campus,corrections facility, a park, etc.), a fourth level could berepresentative of a building in a complex (building on a college campus,store in a shopping mall, etc.), a floor or a wing in a building, and afifth level could be representative of a location as precise andaccurate as allowed by the technology being used to determine thelocation (e.g., latitude and longitude, street corner intersection,etc.). Thus, each level can represent a finer geographic resolution. Thelevel or levels can be configurable and selectable by the called party.

A party may subscribe to a party location based service. Parties mayhave the option to receive party location based services on a per callbasis. Parties may be asked for consent. Party location based servicescan be provided for any appropriate type of call, such as, for example,voice calls, text based calls (e.g., SMS messages), or the like.

In an example embodiment, upon a call being established, the locationsof both parties (calling party and called party) are determined. Chargesassociated the call (e.g., toll charges), based on the location of theparties rather than the NPA.NXX are determined, and if charges apply,the calling party is notified of the charges. If the calling partyaccepts the charges, or if no charges apply, information pertaining tothe calling party and the called party are analyzed to determine ifinformation (e.g., information pertaining to a party location basedservice) pertaining to one party is to be provided to the other party.And, if the analysis indicates that information is to be provided to aparty, the appropriate information is provided to the appropriate party.

An example system for facilitating party location based servicesincludes a signaling system number 7 (SS7) network, an address/locationhandler that handles requests for location information, a living unitaddress database that comprises information pertaining to the variouslevels of location information, a location coordinates mapping databasethat supports mapping of geographic coordinates to any of the levels ofthe location information, and a location correlator that obtains partyinformation to determine appropriate services to be provided to theparties.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example system for providing party locationbased services.

FIG. 2 is a table depicting an example hierarchy of levels of locationidentification information that could be stored in living unit addressdatabase 26.

FIG. 3 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed for and/or triggered on a per call basis.

FIG. 4 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, but the called party may not allow detailed locationinformation to be returned to the calling party.

FIG. 5 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, and the called party may choose to release his/herdetailed location to a preconfigured list of calling numbers, or to allcalling parties.

FIG. 6 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, and the called party may choose to release an alternatedetailed location to a preconfigured list of calling numbers, or to allcalling parties.

FIG. 7 is an illustration of an example system and method depicting ascenario in which an originating party (calling party) would like toensure that a called party's number with the same NPA.Nxx as the callingparty will not incur unexpected toll charges.

FIG. 8 is an illustration of an example system and method depicting ascenario in which both the originator and called parties subscribe tothe called party location tracking feature.

FIG. 9 is a block diagram of an example communications device that isconfigurable to facilitate party location based services.

FIG. 10 is a block diagram of an example network entity configurable tofacilitate party location based services.

FIG. 11 depicts an overall block diagram of an exemplary packet-basedmobile cellular network environment, such as a GPRS network, in whichparty location based services can be implemented.

FIG. 12 illustrates an architecture of a typical GPRS network in whichparty location based services can be implemented.

FIG. 13 illustrates an exemplary block diagram view of a GSM/GPRS/IPmultimedia network architecture within which party location basedservices can be implemented.

FIG. 14 illustrates a PLMN block diagram view of an exemplaryarchitecture in which party location based services may be incorporated.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 1 is a diagram of an example system for providing party locationbased services. The example system depicted in FIG. 1 comprises asignaling system number 7 (SS7) network 20, a public service telephonenetwork PSTN 22, and a mobile network 24. It is to be understood thatthe depicted networks are exemplary, and that any appropriate networkscould be utilized. For example, as explained in more detail herein, themobile network 24 can comprise any of a variety of mobile networks. Inorder to provide party location based services as described herein, theexample system depicted in FIG. 1 also comprises a living unit addressdatabase 26, an address/location handler 28, a location coordinates andmapping database 30, and a location correlator 32. The living unitaddress database 26, address/location handler 28, location coordinatesand mapping database 30, and location correlator 32 can be implementedin any appropriate manner via any appropriate mechanism. For example,the living unit address database 26, address/location handler 28,location coordinates and mapping database 30, and location correlator 32can be implemented via any appropriate processor, server, database, orany combination thereof.

Party based location services, as described herein, are applicable to awide variety of situations. A few example applications or party basedlocation services are provided. For example, when a call is originatedfrom a retailer out of state call center, both the calling number andcalled number will be used to query the address/location handler 28. Theaddress/location handler 28 can detect that the company has a retailerstore near the called party home location, the originating (call center)location along with a near-by retailer detailed location can then bepresented to a caller ID screen or the like of the called party. Thiscan allow the called party to know there is a local retail store forhim/her to shop in the future.

In another example application of party location based services, when acustomer calls an 800 number to find nearby store locations, the callingparty can issue a per call location request along with the call, thecalled party's phone number along with the per call location request (tomatch to the calling party) can be sent to the address/location handler28. The address/location handler 28, working in conjunction with theliving unit address database 26, the location coordinates and mappingdatabase 30, and/or the location correlator 32, as needed can return anindication of a nearby location, such as an address and/or map thatindicates a geographic location, of the same store chain. This locationcan then be rendered on the calling party's display device, or the like.

In another example application of party location based services, when aservice company calls a family residence to offer services such as homeinspection, window replacement, etc., the called party can be requestedto release its home location so that the service company can sendpersonnel to do the job. Thus, rather than the service company having toverbally obtain the location of the family residence, if the calledparty agrees to release its home address location, the information canbe provided to the calling party (e.g., the service company).

In yet another example application of party location based services, amarket survey company may call a sample of phone numbers with the samearea code and receive an indication of the locations of the calledparties. The called party locations provided to the calling party (e.g.,the market survey company) will allow for a more accurate marketanalysis, as some residents may have moved out of the area code regionand have retained previous telephone numbers.

In another example application of party location based services, afamily may be concerned about the whereabouts of a relative, such as agrandmother. A per call or per called number location feature can beutilized in which, whenever a call from a set of specified callingparties (e.g., relatives, friends, etc.) reaches the called party'swireless handset, the location of the called party is returned to thecalling party.

In an additional example application of party location based services,when a customer calls a takeout restaurant (e.g., pizza, Chinese food,etc.) even if the customer does not call an 800 number (for example thecustomer calls the local branch number of a restaurant chain), and thechain has subscribed to the party location based service, locationlookups can be used to determine if there is a closer branch (closer tothe customer's location) of the restaurant chain, and providing thecustomer with an indication of the closer location. This gives thecustomer the option to route the call to the closer destination, and canprovide driving directions to the customer's smart phone, if desired.

The provisioning of party location based services is applicable to awide variety of system configurations. For example the provisioning ofparty location based services is applicable to calls originated from ahandset/wireless communications device and terminated to a publicservice telephone network (PSTN), calls originated from a telephone inthe PSTN and terminated on a handset/wireless communications device,calls originated in the PSTN and terminated in the PSTN, call originatedfrom a handset/wireless communications device and terminated on ahandset/wireless communications device, calls originated via voice overInternet protocol (VoIP) technology, and terminated on a VoIP phone, orthe like. Further, provisioning of party location based services can beutilized by various services, such as, for example, the short messageservice (SMS). When an SMS message is received, the message recipientcan request the delivery of the sender's location information. Or, whenan SMS message is sent, the calling party can request the location ofthe called party.

The PSTN 22 depicted in FIG. 1 is indicative of any appropriate PSTN. Assuch, PSTN 22 comprises circuit-switched telephone networks. PSTN 22 cancomprise telephone lines, fiber optic cables, microwave transmissionlinks, cellular networks, communications satellites, undersea telephonecable, or the like, for example. The service switching points (SSPs)depicted in FIG. 1 are indicative of any appropriate SSP. An SSP is atelephone exchange or switch that initially responds when a number isdialed. SSPs can work with a service control points (SCPs) and signaltransfer points (STPs) to handle calls.

An STP routes messages between various entities in the SS7 network, suchas signaling end points, SCPs, and other STPs. STPs also can routemessages to entities in other networks. For example, as depicted in FIG.1, STPS can route messages to and from the mobile network 24 and to andfrom the PSTN 22. SCPs help control service. SCPs can be used to queryother entities in a network to obtain numbers to which calls are beingrouted. An SCP also can interface with an intelligent peripheral (IP) toplay voice messages or prompt a user for information.

In an example embodiment, the address/location handler 28 handlesrequests for location identification information. That is, theaddress/location handler 28 can coordinate requests for locationinformation by, receiving requests, obtaining information as needed viathe living unit address database 26, the location coordinates andmapping database 30, and/or the location correlator 32, and providingresponses to requesters. Further, the address/location handler 28 canreceive information pertaining to location identification information(e.g., updates). As depicted in FIG. 1, the address/location handler 28can accept requests for location information (location ID requests) fromexternal sources such as an STP, an SCP, and/or a home location register(HLR). An HLR contains information about each subscriber authorized touse a network. For example, an HLR can contain information about eachsubscriber identity module (SIM) card issue by an operator of a network.The address/location handler 28 also can support non-SS7 interfaces forother location mapping needs (e.g., session initiation protocol, SIP,interface, HTTP interface, etc.

In an example embodiment, the living unit database 26 comprisesinformation pertaining to the various levels of accuracy/precision ofthe location identification information. And, the location coordinatesmapping database 30 can support mapping of geographic coordinates to anyof the levels of location identification and/or mapping of the levels oflocation identification to geographic coordinates.

In an example configuration, the living unit address database 26contains at least a table with phone number-to-address mapping for eachof the location levels (e.g., as depicted in FIG. 2). The locationcoordinates and mapping database 30 contains at least a table withgeolocation code-to-real address mapping for each of the location levels(e.g., as depicted in FIG. 2). The address/location handler 28 acts as agateway to receive location requests, phone numbers (e.g., NPA.Nxxnumbers), etc. When a location is queried for, the party number (callingand/or called party depending upon the service being requested) alongwith the geolocation coordinates (for a party utilizing a mobilecommunications device, such as a cell phone, lap top, etc.) is provided.For a wireless call, the geolocation codes can be sent to locationcoordinates and mapping database 30, which can provide mapped locationinformation back to the requestor. The location information may notcontain a specific living unit address but rather, an indication of ageographic location, such as, for example, 50 feet from N street and 100feet from Irving street in San Francisco. For a landline phone, theparty number will be routed to living unit address database 26, whichwill map the party number to an exact address such as 101 CavendishDrive, Cary, N.C.

In an example embodiment, the location correlator 32 providescorrelation services to determine if the calling party's location andcalled party's location are served by the same local calling area. Thelocation correlator 32 can obtain handset location from the locationcoordinates and mapping database 30 and associate the information toobtain a default location from the living unit address database 26. Thelocation correlator 32 also can provide correlation services to mapwireless coordinates to a living unit region or address. For example,the location correlator 32 can receives requests from theaddress/location handler 28, and obtain both calling party location andcalled party location to determine if a toll charge is involved. Or,alternatively, the called party location (e.g., network address—localrouting number) can be returned to the local calling switch to determineif a toll charge is applicable. As another example, the locationcorrelator 32 can obtain a called party's default location as well as adetailed location of a chain store (by correlating the calling partylocation to near-by called party's chain store).

In an example configuration, the location of the calling party and/orcalled party can be provided in a hierarchy of various levels ofaccuracy/precision, wherein different levels can be representative ofdifferent geographic resolutions (e.g., as depicted in FIG. 2). And, theliving unit address database 26 can comprise information pertaining tothe various levels of geographic resolutions of the locationidentification information.

FIG. 2 is a table depicting an example hierarchy of levels of locationidentification information that could be stored in living unit addressdatabase 26. For example, as depicted in FIG. 2, location identificationinformation can be provided in five (5) levels, each level having adifferent geographic resolution (granularity of accuracy and/orprecision). As depicted in FIG. 2, the first level, which can be adefault level, can be indicative of a continent, country, state, ormetropolis. As depicted in FIG. 2, an example continent is NorthAmerica, an example country is the United States of America (USA), andan example state is California (CA).

Further as depicted in FIG. 2, a second level can be indicative of amultiple counties or a single county, such as the California bay areaand/or Santa Clara in the California bay area. A third level can beindicative of multiple cities, multiple towns, a single city, and/or asingle town. An example includes Mountain View in Santa Clara in the bayarea of California. A fourth level could be indicative of street or anintersection, such as, for example, the intersection of street two andstreet one of Mountain View in Santa Clara in the bay area ofCalifornia. And, a fifth level could be indicative of a living unitaddress such as 2600 Camino Ramon, Room 100, San Ramon, Calif. 94583.

A party may select one of the levels of the plurality of levels depictedin FIG. 2. A party could select a range of levels (e.g., level 2 orhigher). A party can subscribe to a service that provides the variouslevels depicted in FIG. 2.

FIG. 3 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed for and/or triggered on a per call basis. To implement partylocation based services in an example embodiment, a call is originatedat step 40. Both the calling party's and called party's numbers aredetermined at step 42. The calling party's and called party's numberscould be, for example, the numbers associated with communications device12, 14, 16, or 18 depicted in FIG. 1. The calling party's and calledparty's numbers are used to determine the location of the calling andcalled parties at step 44. For example, the calling party's and calledparty's numbers can be used to query the address/location handler 28.The address/location handler 28 can provide the locations (of the calledand/or calling party) to the requester. At step 46, it is determined ifany charges apply. For example, upon receiving a request, theaddress/location handler 28 can send a request to the locationcorrelator 32 which can obtain both calling party location and calledparty location from the living unit address database 26 and/or thelocation coordinates and mapping database 30, to determine if a tollcharge is involved. Or, alternatively, the called party location (e.g.,network address—local routing number) can be returned to the localcalling switch to determine if a toll charge is applicable. The localcalling switch may send an announcement to let the calling party know ifthere is a toll fee for the call, even though both the calling andcalled party may have the same NPA or NPA.Nxx code. For example, thecalled party may have moved to a remote location where a toll charge isapplied.

If charges apply (step 46), the local calling switch can send anannouncement to let the calling party know that there is a toll fee forthe call (note: optionally, the announcement can be played via an IP inthe SS7 network). If charges apply (step 46), and the calling party doesnot accept the charges (step 48), the call is disconnected at step 50.If charges apply (step 46) and if the calling party agrees to the charge(step 48), the call processing can proceed to step 52. If no chargesapply (step 46), the call processing can proceed to step 52. At step 52,the call can be completed to the called party. If charges applied andthe calling party agreed to accept the charges, the call can be loggedwith the calling party's consent when the called party answers, the tollcharge measurement process can be invoked.

FIG. 4 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, but the called party may not allow detailed locationinformation to be returned to the calling party. In this examplescenario, the calling party initiates a call to a called party's number,at step 54. At step 56, the called party's phone number is forwarded tothe address/location handler 28. At step 58, it is determined if thecalled party's number is representative of a landline phone(communications device) or a wireless (e.g., cellular) phone(communications device). If it is determined that the called party'snumber is used by a landline phone (step 58), the living unit addressdatabase 26 can be queried at step 60. The living unit address database26 can be queried for the default level of the called party's location(e.g., default level as depicted in FIG. 2). And, the process proceedsto step 62. If it is determined that the called party's number isrepresentative of a wireless phone (step 58), the request is forwardedto the location correlator 32 at step 64. The location correlator 32obtains the wireless phone location from the location coordinates andmapping database 30 at step 66. The location correlator 32 associatesthe information received from the location coordinates and mappingdatabase 30 to obtain a location from the living unit address database26 at step 68. The called party's location is provided to the callingparty at step 62. In an example embodiment, the location is providedprior to the called party answering the call. The location can berendered on the communication device of the calling party, visually(display), acoustically (sound), mechanically (vibration), or anycombination thereof. The call is connected to the called party'scommunications device at step 70. In an example embodiment, the calledparty's location information can be stored in an HLR or be fetched froma VLR, and the location information could be obtained via triangulation,time or arrival calculations, GPS, or the like.

FIG. 5 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, and the called party may choose to release his/herdetailed location to a preconfigured list of calling numbers, or to allcalling parties. In this example scenario, the calling party initiates acall to a called party's number at step 72. The called party's phonenumber is forwarded to the address/location handler 28 at step 74. Thecalled party's profile is examined at step 76. At step 78, it isdetermined if the called party agrees to release his/her locationinformation. If the called party does not agree to release his/herlocation information (step 78), the call is completed without providinglocation information at step 80. In this example scenario, examinationof the called party's profile indicates that the called party prefers torelease his/her detailed location to the calling party (step 78), andthe process proceeds to step 82.

At step 82, it is determined if the called party's number isrepresentative of a landline phone (communications device) or a wireless(e.g., cellular) phone (communications device). If it is determined thatthe called party's number is used by a landline phone (step 82), theliving unit address database 26 can be queried at step 84. The livingunit address database 26 can be queried for the default level of thecalled party's location (e.g., default level as depicted in FIG. 2).And, the process proceeds to step 102. If it is determined that thecalled party's number is representative of a wireless phone (step 82),the request is forwarded to the location correlator 32 at step 86. Thelocation correlator 32 obtains the wireless phone location from thelocation coordinates and mapping database 30 at step 88. The locationcorrelator 32 associates the information received from the locationcoordinates and mapping database 30 to obtain a location from the livingunit address database 26 at step 100. The called party's location isprovided to the calling party at step 102. In an example embodiment, thelocation is provided prior to the called party answering the call. Thelocation can be rendered on the communication device of the callingparty, visually (display), acoustically (sound), mechanically(vibration), or any combination thereof. The call is connected to thecalled party's communications device at step 104. In an exampleembodiment, the called party's location information can be stored in anHLR or be fetched from a VLR, and the location information could beobtained via triangulation, time or arrival calculations, GPS, or thelike. In an example embodiment, the called party's location canoptionally be fed to an application for enhanced services at step 106.For example, the location can be provided to a mapping service to allowthe calling party to reach the called party's address via turn-by-turndirections.

FIG. 6 is a flow diagram of an example process for facilitating partylocation based services in which party location based services may besubscribed-for, and the called party may choose to release an alternatedetailed location to a preconfigured list of calling numbers, or to allcalling parties. In this example scenario, the calling party initiates acall to a called party's number at step 108. The calling party's andcalled party's phone numbers are forwarded to the address/locationhandler 28 at step 110. The called party's profile is examined at step112. At step 114, it is determined if the called party agrees to releasehis/her location information. If the called party does not agree torelease his/her location information (step 114), the call is completedwithout providing location information at step 116. In this examplescenario, examination of the called party's profile indicates that thecalled party prefers to release a default level of location as well asan alternate detailed location (e.g., a location closer to the callingparty's location) to the calling party. The request is forwarded tolocation correlator 118, which obtains the called party's defaultlocation as well as an alternate detailed location, such as, forexample, a location of a particular store of a chain or stores. In anexample embodiment, the location correlator 32 accomplishes this bycorrelating the calling party's location to a near-by called party'schain store. Both called party's locations are provided to the callingparty at step 120. In an example embodiment, the locations are providedprior to the called party answering the call. The location can berendered on the communication device of the calling party, visually(display), acoustically (sound), mechanically (vibration), or anycombination thereof. The call is connected to the called party'scommunications device at step 104. The call is connected to the calledparty's communications device at step 122.

It is to be understood that FIG. 3, FIG. 4, FIG. 5, and FIG. 6 depictexample processes for facilitating party location based services forspecific example scenarios. The example processed depicted in FIG. 3,FIG. 4, FIG. 5, and FIG. 6 are not to be construed as the only processesfor facilitating party location based services. FIG. 3, FIG. 4, FIG. 5,and FIG. 6 can be combined in any appropriate manner. For example a stepor steps depicted in one Figure could be included or removed fromanother figure.

FIG. 7 is an illustration of an example system and method depicting ascenario in which an originating party (calling party) would like toensure that a called party's number with the same NPA.Nxx as the callingparty will not incur unexpected toll charges. In accordance with theexample scenario, Jack, shown in the upper left corner of FIG. 7,subscribes to a called party toll charge verification feature, and it isassumed that both Jack and Jenny's (Jenny shown in the upper rightcorner of FIG. 7) phone numbers have the same NPA-NXX numbers. Jackinitiates a call to Jenny. The local switch (e.g., SSP 96 and/or SSP 98)detects that Jack has toll charge verification subscription and forwardsboth Jack's number and Jenny's number to the address/location handler 28via the SS7 network 20. The address/location handler 28 determines thata correlation service is needed and forwards the request to the locationcorrelator 32. The location correlator 32 queries the living unitaddress database 26 and determines that Jenny has ported her phonenumber to an address which is outside of the rate center domain. Thetoll charge indicator is returned to the local switch (e.g., SSP 96and/or SSP 98). And, an announcement is provided to Jack's communicationdevice (e.g., communications device 12) indicating that a toll chargewill apply. Jack declines to pay the toll charge and the call isdropped.

FIG. 8 is an illustration of an example system and method depicting ascenario in which both the originator and called parties subscribe tothe called party location tracking feature. When the originating party,Jack (Jack shown in the lower left corner of FIG. 8), utilizingcommunications device 16, calls the called party, Mary, Jack'sgrandmother (Mary shown in the lower left corner of FIG. 8), thedetailed location of the called party's communications device 18 isdelivered to the calling party's communications device 16. Jacksubscribes to a called party location monitoring feature. He also helpshis Grandmother (Mary) to subscribe and has pre-configured a list ofallowed calling party numbers to track her location. Jack initiates acall to Mary. The call is routed to an HLR (e.g., HLR 90) via an MSC(e.g., MSC 124), and the called location tracking feature is detected.The HLR verifies its table and detects that the Mary's number wasreported by VLR 92. The call is routed to MSC 124 and VLR 92 for Mary'sprecise location information. Mary's geo-coordinates are forwarded backto HLR 90, which sends it to address/location handler 28. Theaddress/location handler 28 sends the geolocation to the locationcorrelator 32. The location correlator 32 updates the locationcoordinates and mapping database 30, and asks the living unit addressdatabase 26 and the location coordinates and mapping database 30 toprovide Mary's approximate location. The approximate location isreturned back to Jack's communications device 16 for rendering thereon.

FIG. 9 is a block diagram of an example communications device 130 thatis configurable to facilitate party location based services. Thecommunications device 130 can include any appropriate device, mechanism,software, and/or hardware for facilitate provisioning of locationidentification information as described herein. As described herein, thecommunications device 130 comprises hardware, or a combination ofhardware and software. And, each portion of the communications device130 comprises hardware, or a combination of hardware and software. In anexample configuration, the communications device 130 can comprise aprocessing portion 132, a memory portion 134, an input/output portion136, a user interface (UI) portion 138, and a sensor portion 140comprising at least one of a video camera portion 142, a force/wavesensor 144, a microphone 146, a moisture sensor 148, or a combinationthereof. The force/wave sensor comprises at least one of a motiondetector, an accelerometer, an acoustic sensor, a tilt sensor, apressure sensor, a temperature sensor, or the like. The motion detectoris configured to detect motion occurring outside of the communicationsdevice, for example via disturbance of a standing wave, viaelectromagnetic and/or acoustic energy, or the like. The accelerator iscapable of sensing acceleration, motion, and/or movement of thecommunications device. The acoustic sensor is capable of sensingacoustic energy, such as a noise, voice, etc., for example. The tiltsensor is capable of detecting a tilt of the communications device. Thepressure sensor is capable of sensing pressure against thecommunications device, such as from a shock wave caused by broken glassor the like. The temperature sensor is capable of sensing a measuringtemperature, such as inside of the vehicle, room, building, or the like.The moisture sensor 148 is capable of detecting moisture, such asdetecting if the communications device 130 is submerged in a liquid. Theprocessing portion 132, memory portion 134, input/output portion 136,user interface (UI) portion 138, video camera portion 142, force/wavesensor 144, and microphone 146 are coupled together to allowcommunications therebetween (coupling not shown in FIG. 9). Thecommunications device 130 also can comprise a timer (not depicted inFIG. 9).

In various embodiments, the input/output portion 136 comprises areceiver of the communications device 130, a transmitter of thecommunications device 130, or a combination thereof. The input/outputportion 136 is capable of receiving and/or providing informationpertaining to facilitating party location based services as describedherein. The input/output portion 136 also is capable of communicationsother communications devices as described herein. For example, theinput/output portion 136 can include a wireless communications (e.g.,2.5G/3G/4G) SIM card. In an example embodiment, the input/output portion136 is capable of receiving and/or sending information to determine alocation of the communications device 130. In an example configuration,the input\output portion 136 comprises a GPS receiver. In an exampleconfiguration, the communications device 130 can determine its owngeographical location through any type of location determination systemincluding, for example, the Global Positioning System (GPS), assistedGPS (A-GPS), time difference of arrival calculations, configuredconstant location (in the case of non-moving devices), any combinationthereof, or any other appropriate means. In various configurations, theinput/output portion 136 can receive and/or provide information via anyappropriate means, such as, for example, optical means (e.g., infrared),electromagnetic means (e.g., RF, WI-FI, BLUETOOTH, ZIGBEE, etc.),acoustic means (e.g., speaker, microphone, ultrasonic receiver,ultrasonic transmitter), or a combination thereof. In an exampleconfiguration, the input/output portion comprises a Wi-Fi finder, a twoway GPS chipset or equivalent, or the like.

The processing portion 132 is capable of facilitating party locationbased services as described herein. The processing portion 132, inconjunction with any other portion of the communications device 130 asneeded, can provide the ability for users/subscribers to enable,disable, and configure various features of an application for facilitateprovisioning of location identification information, as describedherein. The processing portion 132, in conjunction with any otherportion of the communications device 130, can enable the communicationsdevice 130 to covert speech to text or convert text to speech.

In a basic configuration, the communications device 130 can include atleast one memory portion 134. The memory portion 134 can store anyinformation utilized in conjunction with facilitating party locationbased services as described herein. Depending upon the exactconfiguration and type of processor, the memory portion 134 can bevolatile (such as some types of RAM), non-volatile (such as ROM, flashmemory, etc.). The communications device 130 can include additionalstorage (e.g., removable storage and/or non-removable storage)including, tape, flash memory, smart cards, CD-ROM, digital versatiledisks (DVD) or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, universalserial bus (USB) compatible memory, or the like. In an exampleconfiguration, the memory portion 134, or a portion of the memoryportion 132 is hardened such that information stored therein can berecovered if the communications device 130 is exposed to extreme heat,extreme vibration, extreme moisture, corrosive chemicals or gas, or thelike. In an example configuration, the information stored in thehardened portion of the memory portion 134 is encrypted, or otherwiserendered unintelligible without use of an appropriate cryptographic key,password, biometric (voiceprint, fingerprint, retinal image, facialimage, or the like). Wherein, use of the appropriate cryptographic key,password, biometric will render the information stored in the hardenedportion of the memory portion 134 intelligible.

The communications device 130 also can contain a UI portion 138 allowinga user to communicate with the communications device 130. The UI portion138 is capable of rendering any information utilized in conjunctionfacilitating party location based services as described herein. Forexample, the UI portion 138 can provide means for entering text(including numbers), entering a phone number, rendering text, renderingimages, rendering multimedia, rendering sound, rendering video,receiving sound, or the like, as described herein. The UI portion 138can provide the ability to control the communications device 130, via,for example, buttons, soft keys, voice actuated controls, a touchscreen, movement of the mobile communications device 130, visual cues(e.g., moving a hand in front of a camera on the mobile communicationsdevice 130), or the like. The UI portion 138 can provide visualinformation (e.g., via a display), audio information (e.g., viaspeaker), mechanically (e.g., via a vibrating mechanism), or acombination thereof. In various configurations, the UI portion 138 cancomprise a display, a touch screen, a keyboard, a speaker, or anycombination thereof. The UI portion 138 can comprise means for inputtingbiometric information, such as, for example, fingerprint information,retinal information, voice information, and/or facial characteristicinformation. The UI portion 138 can be utilized to enter an indicationof the designated destination (e.g., the phone number, IP address, orthe like).

In an example embodiment, the sensor portion 140 of the communicationsdevice 130 comprises the video camera portion 142, the force/wave sensor144, and the microphone 146. The video camera portion 142 comprises acamera (or cameras) and associated equipment capable of capturing stillimages and/or video and to provide the captured still images and/orvideo to other portions of the communications device 130. In an exampleembodiment, the force/wave sensor 144 comprises an accelerometer, a tiltsensor, an acoustic sensor capable of sensing acoustic energy, anoptical sensor (e.g., infrared), or any combination thereof.

FIG. 10 is a block diagram of an example network entity 150 configurableto facilitating party location based services as described herein. In anexample embodiment, the network entity 150 comprises hardware, or acombination of hardware and software. And, each portion of the networkentity 150 comprises hardware, or a combination of hardware andsoftware. When used in conjunction with a network, the functionalityneeded to facilitating party location based services can reside in anyone or combination of network entities. The network entity 150 depictedin FIG. 10 represents any appropriate network entity, apparatus, orcombination of network entities or apparatuses, such as a processor, aserver, a gateway, etc., or any combination thereof. The network entity150 can represent any individual or combination of entities depicted inFIG. 1. For example, the network entity 150 can represent an SSP, anSTP, and SCP, an HLR, an IP, an MSC, a VLR, an SMSC, a GMSC, a gatewayMGW, a visited MGW, a SSC, a RNC, a BTS, a NodeB, a living unit addressdatabase, a location coordinates and mapping database, anaddress/location handler, a location correlator, or any appropriatecombination thereof. It is emphasized that the block diagram depicted inFIG. 10 is exemplary and not intended to imply a specific implementationor configuration. Thus, the network entity 150 can be implemented in asingle processor or multiple processors (e.g., single server or multipleservers, single gateway or multiple gateways, etc.). Multiple networkentities can be distributed or centrally located. Multiple networkentities can communicate wirelessly, via hard wire, or a combinationthereof.

In an example configuration, the network entity 150 comprises aprocessing portion 152, a memory portion 154, and an input/outputportion 156. The processing portion 152, memory portion 154, andinput/output portion 156 are coupled together (coupling not shown inFIG. 10) to allow communications therebetween. The input/output portion156 is capable of receiving and/or providing information from/to adevice (e.g., communications device 130, 12, 14, 16, 18) and/or othernetwork entity configured to be utilized when facilitating partylocation based services.

The processing portion 152 is capable of performing functions associatedwith facilitating party location based services, as described herein.For example, the processing portion 152 is capable of, in conjunctionwith any other portion of the network entity 150 as needed, executing anapplication, or applications, for facilitating party location basedservices. The memory portion 154 can store any information utilized inconjunction with facilitating party location based services, asdescribed herein. Depending upon the exact configuration and type ofnetwork entity 150, the memory portion 154 can include a computerstorage medium, or media, that is volatile 158 (such as dynamic RAM),non-volatile 160 (such as ROM), or a combination thereof. The networkentity 150 can include additional storage, in the form of computerstorage media (e.g., removable storage 162 and/or non-removable storage164) including, RAM, ROM, EEPROM, tape, flash memory, smart cards,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, universal serial bus (USB) compatible memory. Asdescribed herein, a computer storage medium, also referred to as acomputer-readable storage medium, is an article of manufacture, having aconcrete physical structure.

The network entity 150 also can contain communications connection(s) 170that allow the network entity 150 to communicate with other devices,network entities, or the like. A communications connection(s) cancomprise communication media. Communication media can be used tocommunicate computer readable instructions, data structures, programmodules, or other data. Communication media can include an appropriatetransport mechanism or information delivery media that can be used totransport a modulated data signal such as a carrier wave.

The network entity 150 also can include input device(s) 166 such askeyboard, mouse, pen, voice input device, touch input device, an opticalinput device, etc. Output device(s) 168 such as a display, speakers,printer, mechanical vibrators, etc. also can be included.

The communications device (e.g., communications device 130, 12, 14, 16,18) and the network entity (network entity 150) can be part of and/or incommunication with various wireless communications networks. Some ofwhich are described below.

FIG. 11 depicts an overall block diagram of an exemplary packet-basedmobile cellular network environment, such as a GPRS network, in whichparty location based services can be implemented. In the exemplarypacket-based mobile cellular network environment shown in FIG. 11, thereare a plurality of Base Station Subsystems (“BSS”) 1100 (only one isshown), each of which comprises a Base Station Controller (“BSC”) 1102serving a plurality of Base Transceiver Stations (“BTS”) such as BTSs1104, 1106, and 1108. BTSs 1104, 1106, 1108, etc. are the access pointswhere users of packet-based mobile devices become connected to thewireless network. In exemplary fashion, the packet traffic originatingfrom user devices is transported via an over-the-air interface to a BTS1108, and from the BTS 1108 to the BSC 1102. Base station subsystems,such as BSS 1100, are a part of internal frame relay network 1110 thatcan include Service GPRS Support Nodes (“SGSN”) such as SGSN 1112 and1114. Each SGSN is connected to an internal packet network 1120 throughwhich a SGSN 1112, 1114, etc. can route data packets to and from aplurality of gateway GPRS support nodes (GGSN) 1122, 1124, 1126, etc. Asillustrated, SGSN 1114 and GGSNs 1122, 1124, and 1126 are part ofinternal packet network 1120. Gateway GPRS serving nodes 1122, 1124 and1126 mainly provide an interface to external Internet Protocol (“IP”)networks such as Public Land Mobile Network (“PLMN”) 1150, corporateintranets 1140, or Fixed-End System (“FES”) or the public Internet 1130.As illustrated, subscriber corporate network 1140 may be connected toGGSN 1124 via firewall 1132; and PLMN 1150 is connected to GGSN 1124 viaboarder gateway router 1134. The Remote Authentication Dial-In UserService (“RADIUS”) server 1142 may be used for caller authenticationwhen a user of a mobile cellular device calls corporate network 1140.

Generally, there can be a several cell sizes in a GSM network, referredto as macro, micro, pico, femto and umbrella cells. The coverage area ofeach cell is different in different environments. Macro cells can beregarded as cells in which the base station antenna is installed in amast or a building above average roof top level. Micro cells are cellswhose antenna height is under average roof top level. Micro-cells aretypically used in urban areas. Pico cells are small cells having adiameter of a few dozen meters. Pico cells are used mainly indoors.Femto cells have the same size as pico cells, but a smaller transportcapacity. Femto cells are used indoors, in residential, or smallbusiness environments. On the other hand, umbrella cells are used tocover shadowed regions of smaller cells and fill in gaps in coveragebetween those cells.

FIG. 12 illustrates an architecture of a typical GPRS network in whichfacilitating party location based services can be implemented. Thearchitecture depicted in FIG. 12 is segmented into four groups: users1250, radio access network 1260, core network 1270, and interconnectnetwork 1280. Users 1250 comprise a plurality of end users. Note, device1212 is referred to as a mobile subscriber in the description of networkshown in FIG. 12. In an example embodiment, the device depicted asmobile subscriber 1212 comprises a communications device (e.g., wirelessanti-theft security M2M type device 36). Radio access network 1260comprises a plurality of base station subsystems such as BSSs 1262,which include BTSs 1264 and BSCs 1266. Core network 1270 comprises ahost of various network elements. As illustrated in FIG. 12, corenetwork 1270 may comprise Mobile Switching Center (“MSC”) 1271, ServiceControl Point (“SCP”) 1272, gateway MSC 1273, SGSN 1276, Home LocationRegister (“HLR”) 1274, Authentication Center (“AuC”) 1275, Domain NameServer (“DNS”) 1277, and GGSN 1278. Interconnect network 1280 alsocomprises a host of various networks and other network elements. Asillustrated in FIG. 12, interconnect network 1280 comprises PublicSwitched Telephone Network (“PSTN”) 1282, Fixed-End System (“FES”) orInternet 1284, firewall 1288, and Corporate Network 1289.

A mobile switching center can be connected to a large number of basestation controllers. At MSC 1271, for instance, depending on the type oftraffic, the traffic may be separated in that voice may be sent toPublic Switched Telephone Network (“PSTN”) 1282 through Gateway MSC(“GMSC”) 1273, and/or data may be sent to SGSN 1276, which then sendsthe data traffic to GGSN 1278 for further forwarding.

When MSC 1271 receives call traffic, for example, from BSC 1266, itsends a query to a database hosted by SCP 1272. The SCP 1272 processesthe request and issues a response to MSC 1271 so that it may continuecall processing as appropriate.

The HLR 1274 is a centralized database for users to register to the GPRSnetwork. HLR 1274 stores static information about the subscribers suchas the International Mobile Subscriber Identity (“IMSI”), subscribedservices, and a key for authenticating the subscriber. HLR 1274 alsostores dynamic subscriber information such as the current location ofthe mobile subscriber. Associated with HLR 1274 is AuC 1275. AuC 1275 isa database that contains the algorithms for authenticating subscribersand includes the associated keys for encryption to safeguard the userinput for authentication.

In the following, depending on context, the term “mobile subscriber”sometimes refers to the end user and sometimes to the actual portabledevice, such as a mobile device, used by an end user of the mobilecellular service. When a mobile subscriber turns on his or her mobiledevice, the mobile device goes through an attach process by which themobile device attaches to an SGSN of the GPRS network. In FIG. 12, whenmobile subscriber 1212 initiates the attach process by turning on thenetwork capabilities of the mobile device, an attach request is sent bymobile subscriber 1212 to SGSN 1276. The SGSN 1276 queries another SGSN,to which mobile subscriber 1212 was attached before, for the identity ofmobile subscriber 1212. Upon receiving the identity of mobile subscriber1212 from the other SGSN, SGSN 1276 requests more information frommobile subscriber 1212. This information is used to authenticate mobilesubscriber 1212 to SGSN 1276 by HLR 1274. Once verified, SGSN 1276 sendsa location update to HLR 1274 indicating the change of location to a newSGSN, in this case SGSN 1276. HLR 1274 notifies the old SGSN, to whichmobile subscriber 1212 was attached before, to cancel the locationprocess for mobile subscriber 1212. HLR 1274 then notifies SGSN 1276that the location update has been performed. At this time, SGSN 1276sends an Attach Accept message to mobile subscriber 1212, which in turnsends an Attach Complete message to SGSN 1276.

After attaching itself with the network, mobile subscriber 1212 thengoes through the authentication process. In the authentication process,SGSN 1276 sends the authentication information to HLR 1274, which sendsinformation back to SGSN 1276 based on the user profile that was part ofthe user's initial setup. The SGSN 1276 then sends a request forauthentication and ciphering to mobile subscriber 1212. The mobilesubscriber 1212 uses an algorithm to send the user identification (ID)and password to SGSN 1276. The SGSN 1276 uses the same algorithm andcompares the result. If a match occurs, SGSN 1276 authenticates mobilesubscriber 1212.

Next, the mobile subscriber 1212 establishes a user session with thedestination network, corporate network 1289, by going through a PacketData Protocol (“PDP”) activation process. Briefly, in the process,mobile subscriber 1212 requests access to the Access Point Name (“APN”),for example, UPS.com, and SGSN 1276 receives the activation request frommobile subscriber 1212. SGSN 1276 then initiates a Domain Name Service(“DNS”) query to learn which GGSN node has access to the UPS.com APN.The DNS query is sent to the DNS server within the core network 1270,such as DNS 1277, which is provisioned to map to one or more GGSN nodesin the core network 1270. Based on the APN, the mapped GGSN 1278 canaccess the requested corporate network 1289. The SGSN 1276 then sends toGGSN 1278 a Create Packet Data Protocol (“PDP”) Context Request messagethat contains necessary information. The GGSN 1278 sends a Create PDPContext Response message to SGSN 1276, which then sends an Activate PDPContext Accept message to mobile subscriber 1212.

Once activated, data packets of the call made by mobile subscriber 1212can then go through radio access network 1260, core network 1270, andinterconnect network 1280, in a particular fixed-end system or Internet1284 and firewall 1288, to reach corporate network 1289.

FIG. 13 illustrates an exemplary block diagram view of a GSM/GPRS/IPmultimedia network architecture within which party location basedservices can be implemented. As illustrated, the architecture of FIG. 13includes a GSM core network 1301, a GPRS network 1330 and an IPmultimedia network 1338. The GSM core network 1301 includes a MobileStation (MS) 1302, at least one Base Transceiver Station (BTS) 1304 anda Base Station Controller (BSC) 1306. The MS 1302 is physical equipmentor Mobile Equipment (ME), such as a mobile phone or a laptop computerthat is used by mobile subscribers, with a Subscriber identity Module(SIM) or a Universal Integrated Circuit Card (UICC). The SIM or UICCincludes an International Mobile Subscriber Identity (IMSI), which is aunique identifier of a subscriber. The BTS 1304 is physical equipment,such as a radio tower, that enables a radio interface to communicatewith the MS. Each BTS may serve more than one MS. The BSC 1306 managesradio resources, including the BTS. The BSC may be connected to severalBTSs. The BSC and BTS components, in combination, are generally referredto as a base station (BSS) or radio access network (RAN) 1303.

The GSM core network 1301 also includes a Mobile Switching Center (MSC)1308, a Gateway Mobile Switching Center (GMSC) 1310, a Home LocationRegister (HLR) 1312, Visitor Location Register (VLR) 1314, anAuthentication Center (AuC) 1318, and an Equipment Identity Register(EIR) 1316. The MSC 1308 performs a switching function for the network.The MSC also performs other functions, such as registration,authentication, location updating, handovers, and call routing. The GMSC1310 provides a gateway between the GSM network and other networks, suchas an Integrated Services Digital Network (ISDN) or Public SwitchedTelephone Networks (PSTNs) 1320. Thus, the GMSC 1310 providesinterworking functionality with external networks.

The HLR 1312 is a database that contains administrative informationregarding each subscriber registered in a corresponding GSM network. TheHLR 1312 also contains the current location of each MS. The VLR 1314 isa database that contains selected administrative information from theHLR 1312. The VLR contains information necessary for call control andprovision of subscribed services for each MS currently located in ageographical area controlled by the VLR. The HLR 1312 and the VLR 1314,together with the MSC 1308, provide the call routing and roamingcapabilities of GSM. The AuC 1316 provides the parameters needed forauthentication and encryption functions. Such parameters allowverification of a subscriber's identity. The EIR 1318 storessecurity-sensitive information about the mobile equipment.

A Short Message Service Center (SMSC) 1309 allows one-to-one ShortMessage Service (SMS) messages to be sent to/from the MS 1302. A PushProxy Gateway (PPG) 1311 is used to “push” (i.e., send without asynchronous request) content to the MS 1302. The PPG 1311 acts as aproxy between wired and wireless networks to facilitate pushing of datato the MS 1302. A Short Message Peer to Peer (SMPP) protocol router 1313is provided to convert SMS-based SMPP messages to cell broadcastmessages. SMPP is a protocol for exchanging SMS messages between SMSpeer entities such as short message service centers. The SMPP protocolis often used to allow third parties, e.g., content suppliers such asnews organizations, to submit bulk messages.

To gain access to GSM services, such as speech, data, and short messageservice (SMS), the MS first registers with the network to indicate itscurrent location by performing a location update and IMSI attachprocedure. The MS 1302 sends a location update including its currentlocation information to the MSC/VLR, via the BTS 1304 and the BSC 1306.The location information is then sent to the MS's HLR. The HLR isupdated with the location information received from the MSC/VLR. Thelocation update also is performed when the MS moves to a new locationarea. Typically, the location update is periodically performed to updatethe database as location updating events occur.

The GPRS network 1330 is logically implemented on the GSM core networkarchitecture by introducing two packet-switching network nodes, aserving GPRS support node (SGSN) 1332, a cell broadcast and a GatewayGPRS support node (GGSN) 1334. The SGSN 1332 is at the same hierarchicallevel as the MSC 1308 in the GSM network. The SGSN controls theconnection between the GPRS network and the MS 1302. The SGSN also keepstrack of individual MS's locations and security functions and accesscontrols.

A Cell Broadcast Center (CBC) 1317 communicates cell broadcast messagesthat are typically delivered to multiple users in a specified area. CellBroadcast is one-to-many geographically focused service. It enablesmessages to be communicated to multiple mobile phone customers who arelocated within a given part of its network coverage area at the time themessage is broadcast.

The GGSN 1334 provides a gateway between the GPRS network and a publicpacket network (PDN) or other IP networks 1336. That is, the GGSNprovides interworking functionality with external networks, and sets upa logical link to the MS through the SGSN. When packet-switched dataleaves the GPRS network, it is transferred to an external TCP-IP network1336, such as an X.25 network or the Internet. In order to access GPRSservices, the MS first attaches itself to the GPRS network by performingan attach procedure. The MS then activates a packet data protocol (PDP)context, thus activating a packet communication session between the MS,the SGSN, and the GGSN.

In a GSM/GPRS network, GPRS services and GSM services can be used inparallel. The MS can operate in one of three classes: class A, class B,and class C. A class A MS can attach to the network for both GPRSservices and GSM services simultaneously. A class A MS also supportssimultaneous operation of GPRS services and GSM services. For example,class A mobiles can receive GSM voice/data/SMS calls and GPRS data callsat the same time.

A class B MS can attach to the network for both GPRS services and GSMservices simultaneously. However, a class B MS does not supportsimultaneous operation of the GPRS services and GSM services. That is, aclass B MS can only use one of the two services at a given time.

A class C MS can attach for only one of the GPRS services and GSMservices at a time. Simultaneous attachment and operation of GPRSservices and GSM services is not possible with a class C MS.

A GPRS network 1330 can be designed to operate in three networkoperation modes (NOM1, NOM2 and NOM3). A network operation mode of aGPRS network is indicated by a parameter in system information messagestransmitted within a cell. The system information messages dictates a MSwhere to listen for paging messages and how to signal towards thenetwork. The network operation mode represents the capabilities of theGPRS network. In a NOM1 network, a MS can receive pages from a circuitswitched domain (voice call) when engaged in a data call. The MS cansuspend the data call or take both simultaneously, depending on theability of the MS. In a NOM2 network, a MS may not receive pages from acircuit switched domain when engaged in a data call, since the MS isreceiving data and is not listening to a paging channel. In a NOM3network, a MS can monitor pages for a circuit switched network whilereceived data and vice versa.

The IP multimedia network 1338 was introduced with 3GPP Release 13, andincludes an IP multimedia subsystem (IMS) 1340 to provide richmultimedia services to end users. A representative set of the networkentities within the IMS 1340 are a call/session control function (CSCF),a media gateway control function (MGCF) 1346, a media gateway (MGW)1348, and a master subscriber database, called a home subscriber server(HSS) 1350. The HSS 1350 may be common to the GSM network 1301, the GPRSnetwork 1330 as well as the IP multimedia network 1338.

The IP multimedia system 1340 is built around the call/session controlfunction, of which there are three types: an interrogating CSCF (I-CSCF)1343, a proxy CSCF (P-CSCF) 1342, and a serving CSCF (S-CSCF) 1344. TheP-CSCF 1342 is the MS's first point of contact with the IMS 1340. TheP-CSCF 1342 forwards session initiation protocol (SIP) messages receivedfrom the MS to an SIP server in a home network (and vice versa) of theMS. The P-CSCF 1342 may also modify an outgoing request according to aset of rules defined by the network operator (for example, addressanalysis and potential modification).

The I-CSCF 1343, forms an entrance to a home network and hides the innertopology of the home network from other networks and providesflexibility for selecting an S-CSCF. The I-CSCF 1343 may contact asubscriber location function (SLF) 1345 to determine which HSS 1350 touse for the particular subscriber, if multiple HSS's 1350 are present.The S-CSCF 1344 performs the session control services for the MS 1302.This includes routing originating sessions to external networks androuting terminating sessions to visited networks. The S-CSCF 1344 alsodecides whether an application server (AS) 1352 is required to receiveinformation on an incoming SIP session request to ensure appropriateservice handling. This decision is based on information received fromthe HSS 1350 (or other sources, such as an application server 1352). TheAS 1352 also communicates to a location server 1356 (e.g., a GatewayMobile Location Center (GMLC)) that provides a position (e.g.,latitude/longitude coordinates) of the MS 1302.

The HSS 1350 contains a subscriber profile and keeps track of which corenetwork node is currently handling the subscriber. It also supportssubscriber authentication and authorization functions (AAA). In networkswith more than one HSS 1350, a subscriber location function providesinformation on the HSS 1350 that contains the profile of a givensubscriber.

The MGCF 1346 provides interworking functionality between SIP sessioncontrol signaling from the IMS 1340 and ISUP/BICC call control signalingfrom the external GSTN networks (not shown). It also controls the mediagateway (MGW) 1348 that provides user-plane interworking functionality(e.g., converting between AMR- and PCM-coded voice). The MGW 1348 alsocommunicates with other IP multimedia networks 1354.

Push to Talk over Cellular (PoC) capable mobile phones register with thewireless network when the phones are in a predefined area (e.g., jobsite, etc.). When the mobile phones leave the area, they register withthe network in their new location as being outside the predefined area.This registration, however, does not indicate the actual physicallocation of the mobile phones outside the pre-defined area.

FIG. 14 illustrates a PLMN block diagram view of an exemplaryarchitecture in which party location based services may be incorporated.Mobile Station (MS) 1401 is the physical equipment used by the PLMNsubscriber. In one illustrative embodiment, any of communicationsdevices 140, 12, 14, 16, or 18 may serve as a Mobile Station 1401.Mobile Station 1401 may be one of, but not limited to, a cellulartelephone, a cellular telephone in combination with another electronicdevice or any other wireless mobile communication device.

Mobile Station 1401 may communicate wirelessly with Base Station System(BSS) 1410. BSS 1410 contains a Base Station Controller (BSC) 1411 and aBase Transceiver Station (BTS) 1412. BSS 1410 may include a single BSC1411/BTS 1412 pair (Base Station) or a system of BSC/BTS pairs which arepart of a larger network. BSS 1410 is responsible for communicating withMobile Station 1401 and may support one or more cells. BSS 1410 isresponsible for handling cellular traffic and signaling between MobileStation 1401 and Core Network 1440. Typically, BSS 1410 performsfunctions that include, but are not limited to, digital conversion ofspeech channels, allocation of channels to mobile devices, paging, andtransmission/reception of cellular signals.

Additionally, Mobile Station 1401 may communicate wirelessly with RadioNetwork System (RNS) 1420. RNS 1420 contains a Radio Network Controller(RNC) 1421 and one or more Node(s) B 1422. RNS 1420 may support one ormore cells. RNS 1420 may also include one or more RNC 1421/Node B 1422pairs or alternatively a single RNC 1421 may manage multiple Nodes B1422. RNS 1420 is responsible for communicating with Mobile Station 1401in its geographically defined area. RNC 1421 is responsible forcontrolling the Node(s) B 1422 that are connected to it and is a controlelement in a UMTS radio access network. RNC 1421 performs functions suchas, but not limited to, load control, packet scheduling, handovercontrol, security functions, as well as controlling Mobile Station1401's access to the Core Network (CN) 1440.

The evolved UMTS Terrestrial Radio Access Network (E-UTRAN) 1430 is aradio access network that provides wireless data communications forMobile Station 1401 and User Equipment 1402. E-UTRAN 1430 provideshigher data rates than traditional UMTS. It is part of the Long TermEvolution (LTE) upgrade for mobile networks and later releases meet therequirements of the International Mobile Telecommunications (IMT)Advanced and are commonly known as a 4G networks. E-UTRAN 1430 mayinclude of series of logical network components such as E-UTRAN Node B(eNB) 1431 and E-UTRAN Node B (eNB) 1432. E-UTRAN 1430 may contain oneor more eNBs. User Equipment 1402 may be any user device capable ofconnecting to E-UTRAN 1430 including, but not limited to, a personalcomputer, laptop, mobile device, wireless router, or other devicecapable of wireless connectivity to E-UTRAN 1430. The improvedperformance of the E-UTRAN 1430 relative to a typical UMTS networkallows for increased bandwidth, spectral efficiency, and functionalityincluding, but not limited to, voice, high-speed applications, largedata transfer and IPTV, while still allowing for full mobility.

An exemplary embodiment of a mobile data and communication service thatmay be implemented in the PLMN architecture described in FIG. 14 is theEnhanced Data rates for GSM Evolution (EDGE). EDGE is an enhancement forGPRS networks that implements an improved signal modulation scheme knownas 14-PSK (Phase Shift Keying). By increasing network utilization, EDGEmay achieve up to three times faster data rates as compared to a typicalGPRS network. EDGE may be implemented on any GSM network capable ofhosting a GPRS network, making it an ideal upgrade over GPRS since itmay provide increased functionality of existing network resources.Evolved EDGE networks are becoming standardized in later releases of theradio telecommunication standards, which provide for even greaterefficiency and peak data rates of up to 1 Mbit/s, while still allowingimplementation on existing GPRS-capable network infrastructure.

Typically Mobile Station 1401 may communicate with any or all of BSS1410, RNS 1420, or E-UTRAN 1430. In a illustrative system, each of BSS1410, RNS 1420, and E-UTRAN 1430 may provide Mobile Station 1401 withaccess to Core Network 1440. The Core Network 1440 may include of aseries of devices that route data and communications between end users.Core Network 1440 may provide network service functions to users in theCircuit Switched (CS) domain, the Packet Switched (PS) domain or both.The CS domain refers to connections in which dedicated network resourcesare allocated at the time of connection establishment and then releasedwhen the connection is terminated. The PS domain refers tocommunications and data transfers that make use of autonomous groupingsof bits called packets. Each packet may be routed, manipulated,processed or handled independently of all other packets in the PS domainand does not require dedicated network resources.

The Circuit Switched-Media Gateway Function (CS-MGW) 1441 is part ofCore Network 1440, and interacts with Visitor Location Register (VLR)and Mobile-Services Switching Center (MSC) Server 1460 and Gateway MSCServer 1461 in order to facilitate Core Network 1440 resource control inthe CS domain. Functions of CS-MGW 1441 include, but are not limited to,media conversion, bearer control, payload processing and other mobilenetwork processing such as handover or anchoring. CS-MGW 1440 mayreceive connections to Mobile Station 1401 through BSS 1410, RNS 1420 orboth.

Serving GPRS Support Node (SGSN) 1442 stores subscriber data regardingMobile Station 1401 in order to facilitate network functionality. SGSN1442 may store subscription information such as, but not limited to, theInternational Mobile Subscriber Identity (IMSI), temporary identities,or Packet Data Protocol (PDP) addresses. SGSN 1442 may also storelocation information such as, but not limited to, the Gateway GPRSSupport Node (GGSN) 1444 address for each GGSN where an active PDPexists. GGSN 1444 may implement a location register function to storesubscriber data it receives from SGSN 1442 such as subscription orlocation information.

Serving Gateway (S-GW) 1443 is an interface which provides connectivitybetween E-UTRAN 1430 and Core Network 1440. Functions of S-GW 1443include, but are not limited to, packet routing, packet forwarding,transport level packet processing, event reporting to Policy andCharging Rules Function (PCRF) 1450, and mobility anchoring forinter-network mobility. PCRF 1450 uses information gathered from S-GW1443, as well as other sources, to make applicable policy and chargingdecisions related to data flows, network resources and other networkadministration functions. Packet Data Network Gateway (PDN-GW) 1445 mayprovide user-to-services connectivity functionality including, but notlimited to, network-wide mobility anchoring, bearer session anchoringand control, and IP address allocation for PS domain connections.

Home Subscriber Server (HSS) 1463 is a database for user information,and stores subscription data regarding Mobile Station 1401 or UserEquipment 1402 for handling calls or data sessions. Networks may containone HSS 1463 or more if additional resources are required. Exemplarydata stored by HSS 1463 include, but is not limited to, useridentification, numbering and addressing information, securityinformation, or location information. HSS 1463 may also provide call orsession establishment procedures in both the PS and CS domains.

The VLR/MSC Server 1460 provides user location functionality. WhenMobile Station 1401 enters a new network location, it begins aregistration procedure. A MSC Server for that location transfers thelocation information to the VLR for the area. A VLR and MSC Server maybe located in the same computing environment, as is shown by VLR/MSCServer 1460, or alternatively may be located in separate computingenvironments. A VLR may contain, but is not limited to, user informationsuch as the IMSI, the Temporary Mobile Station Identity (TMSI), theLocal Mobile Station Identity (LMSI), the last known location of themobile station, or the SGSN where the mobile station was previouslyregistered. The MSC server may contain information such as, but notlimited to, procedures for Mobile Station 1401 registration orprocedures for handover of Mobile Station 1401 to a different section ofthe Core Network 1440. GMSC Server 1461 may serve as a connection toalternate GMSC Servers for other mobile stations in larger networks.

Equipment Identity Register (EIR) 1462 is a logical element which maystore the International Mobile Equipment Identities (IMEI) for MobileStation 1401. In a typical embodiment, user equipment may be classifiedas either “white listed” or “black listed” depending on its status inthe network. In one embodiment, if Mobile Station 1401 is stolen and putto use by an unauthorized user, it may be registered as “black listed”in EIR 1462, preventing its use on the network. Mobility ManagementEntity (MME) 1464 is a control node which may track Mobile Station 1401or User Equipment 1402 if the devices are idle. Additional functionalitymay include the ability of MME 1464 to contact an idle Mobile Station1401 or User Equipment 1402 if retransmission of a previous session isrequired.

While example embodiments of facilitating party location based serviceshave been described in connection with various computingdevices/processors, the underlying concepts can be applied to anycomputing device, processor, or system capable of facilitating partylocation based services as described herein. The methods and apparatusesfor facilitating party location based services, or certain aspects orportions thereof, can take the form of program code (i.e., instructions)embodied in tangible storage media having a concrete physical structure,such as floppy diskettes, CD-ROMs, hard drives, or any othermachine-readable storage medium having a concrete physical tangiblestructure, wherein, when the program code is loaded into and executed bya machine, such as a computer, the machine becomes an apparatus forfacilitating party location based services. A computer-readable storagemedium, also referred to herein as a computer storage medium, asdescribed herein is an article of manufacture, and thus, not to beconstrued as a transitory signal. In the case of program code executedon programmable computers, the computing device will generally include aprocessor, a storage medium readable by the processor (includingvolatile and non-volatile memory and/or storage elements), at least oneinput device, and at least one output device. The program(s) can beimplemented in assembly or machine language, if desired. The languagecan be a compiled or interpreted language, and combined with hardwareimplementations.

The methods and apparatuses for facilitating party location basedservices can be practiced via communications embodied in the form ofprogram code that is transmitted over some transmission medium, such asover electrical wiring or cabling, through fiber optics, wherein, whenthe program code is received and loaded into and executed by a machine,such as an EPROM, a gate array, a programmable logic device (PLD), aclient computer, or the like, the machine becomes an apparatus forfacilitating party location based services. When implemented on ageneral-purpose processor, the program code combines with the processorto provide a unique apparatus that operates to invoke the functionalityof facilitating party location based services.

While party location based services have been described in connectionwith the various embodiments of the various figures, it is to beunderstood that other similar embodiments can be used or modificationsand additions can be made to the described embodiments for facilitatingparty location based services. For example, one skilled in the art willrecognize that facilitating party location based services as describedin the present application may apply to any environment, whether wiredor wireless, and may be applied to any number of devices connected via acommunications network and interacting across the network. Therefore,facilitating party location based services should not be limited to anysingle embodiment, but rather should be construed in breadth and scopein accordance with the appended claims.

What is claimed:
 1. A method comprising: determining, by acommunications device, a first geographic location associated with afirst calling device, wherein the first geographic location is outsideof a geographic area indicated by an area code of a first telephonenumber identifying the first calling device; determining, by thecommunications device, that the first calling device has initiated acall to a second calling device, the second calling device associatedwith a called group; determining, by the communications device, a chargeapplicable to a call between the first calling device and a secondcalling device based on the first geographic location at a firstgeographic resolution; identifying a third calling device associatedwith the called group based on the first geographic location beingcloser to the a third geographic location of the third calling devicethan a second geographic location of the second calling device;rerouting the call to the third calling device; and indicating to thethird calling device, by the communications device, the first geographiclocation at the first geographic resolution, wherein the firstgeographic resolution is selected from a hierarchy of successively finergeographic resolutions.
 2. The method of claim 1, further comprising:indicating that a toll charge is applicable to the call based on thefirst geographic location and a second geographic location associatedwith the second calling device.
 3. The method of claim 2, wherein: thearea code is identical to an area code of a second telephone number, thesecond telephone number identifying the second calling device.
 4. Themethod of claim 1, wherein the hierarchy comprises at least one of acontinent, a country, a state, a county, a metropolis, a city, a town, astreet, or an intersection.
 5. The method of claim 1, furthercomprising: determining a second geographic resolution selected from thehierarchy, the second geographic resolution associated with the secondcalling device; and indicating the second geographic location at thesecond geographic resolution.
 6. The method of claim 1, whereinindicating the first geographic location at the first geographicresolution comprises rendering a map.
 7. The method of claim 1, whereinthe first calling device is associated with a plurality of locations,and determining the first geographic location comprises: determining asecond geographic location, the second geographic location associatedwith the second calling device; and selecting the first geographiclocation from the plurality of locations based on the second geographiclocation.
 8. A communications device comprising: a processor; and memorycomprising instructions that cause the processor to effectuateoperations comprising: determining a first geographic locationassociated with a first calling device operating on a network comprisingthe communications device, wherein the first geographic location isoutside of a geographic area indicated by an area code of a firsttelephone number identifying the first calling device; determining, bythe communications device, that the first calling device has initiated acall to a second calling device, the second calling device associatedwith a called group; determining a charge applicable to a call betweenthe first calling device and a second calling device based on the firstgeographic location at a first geographic resolution; identifying athird calling device associated with the called group based on the firstgeographic location being closer to the a third geographic location ofthe third calling device than a second geographic location of the secondcalling device; rerouting the call to the third calling device; andindicating to the third calling device the first geographic location atthe first geographic resolution, wherein the first geographic resolutionis selected from a hierarchy of successively finer geographicresolutions.
 9. The communications device of claim 8, the operationsfurther comprising: indicating that a toll charge is applicable to thecall based on the first geographic location and the location of thesecond calling device.
 10. The communications device of claim 9, whereinthe area code of the first telephone number and an area code of a secondtelephone number, the second telephone number identifying the secondcalling device, are identical.
 11. The communications device of claim 8,wherein the hierarchy comprises at least one of a continent, a country,a state, a county, a metropolis, a city, a town, a street, or anintersection.
 12. The communications device of claim 8, the operationsfurther comprising: determining a second geographic resolution selectedfrom the hierarchy, the second geographic resolution associated with thesecond calling device, wherein the service comprises providing anindication of the second geographic location at the second geographicresolution to the first calling device.
 13. The communications device ofclaim 8, wherein indicating the first geographic location at the firstgeographic resolution comprises rendering a map.
 14. The communicationsdevice of claim 8, wherein: the first calling device is associated witha plurality of locations, and determining the first geographic locationcomprises: determining a second geographic location, the secondgeographic location associated with the second calling device; andselecting the first geographic location from the plurality of locationsbased on the second geographic location.